﻿namespace SmartPhone.Un.Pro.DataContracts
{
    public class UnEnums
    {
        public class SexType
        {
            /*
           * 
           *  Description
           *      00010001: Male           
           *      00010002: Female           
          */

            /// <summary>
            /// Male
            /// </summary>
            public const string Male = "00010001";
            public const string Female = "00010002";

        }
       
        public class UserYn
        {
            /*
           * 
           *  Description
           *      00020001: Yes           
           *      00020002: No           
          */

            /// <summary>
            /// Yes
            /// </summary>
            public const string Yes = "00020001";
            public const string No = "00020002";

        }

        public class PaymentMethod
        {
            /*
           * 
           *  Description
           *      00030001: Creditcard           
          */

            /// <summary>
            /// Creditcard
            /// </summary>
            public const string Creditcard = "00030001";

        }

        public class FileTypes
        {
            /*
           * 
           *  Description
           *      00040001: Jpg
           *      00040002: Jpeg
           *      00040003: Gif
           *
          */

            /// <summary>
            /// Jpg
            /// </summary>
            public const string Jpg = "00040001";
            public const string Jpeg = "00040002";
            public const string Gif = "00040003";

        }

        #region status

        /// <summary>
        /// in cart , Request , Confirmed , Canceled , Completed , Deleted
        /// </summary>
        public class OrderStatus
        {
            /*
             * 
             *  Description
             *      00050001: in cart 
             *      00050002: Requested (order request in server)
             *      00050003: confirmed (confirmed in server)
             *      00050004: canceled, (order canceled)
             *      00050005: completed (completed)             
             *
            */

            /// <summary>
            /// in cart 
            /// </summary>
            public const string InCart = "00050001";

            /// <summary>
            /// Requested
            /// </summary>
            public const string Requested = "00050002";

            /// <summary>
            /// Confirmed
            /// </summary>
            public const string Confirmed = "00050003";

        
            /// <summary>
            /// Canceled
            /// </summary>
            public const string Canceled = "00050004";

            /// <summary>
            /// Completed
            /// </summary>
            public const string Completed = "00050005";
            
            public static string ToString(string orderState)
            {
                switch (orderState)
                {
                    case Requested:
                        return "Request";
                    case Canceled:
                        return "Canceled";
                    case InCart:
                        return string.Empty;
                    case Confirmed:
                        return "Confirmed";
                    case Completed:
                        return "Complete";                    
                    default:
                        return "";
                }
            }


        }

        /// <summary>
        ///  Product , Point
        ///  </summary>
        public class OrderType {
            /*
                * 
                *  Description
                *      00060001: Product
                *      00060002: Point
                *
               */

            /// <summary>
            /// Product
            /// </summary>
            public const string Product = "00060001";

            /// <summary>
            /// Point
            /// </summary>
            public const string Point = "00060002";

            public static string ToString(string orderType)
            {
                switch (orderType)
                {
                    case Product:
                        return "Product";
                    case Point:
                        return "Point";
                    default:
                        return string.Empty;
                }
            }


        }

        /// <summary>
        /// Admin , Customer , Anomynous
        /// </summary>
        public class UserType {
            /*
                   * 
                   *  Description
                   *      00070001: Admin
                   *      00070002: Customer
                   *      00070003: Anomynous      
                   *
                  */
            public const string Admin = "00070001";
            public const string Customer = "00070002";
            public const string Anomynous = "00070003";
        }

        #endregion


    }
}
